/**********************************Copyright (c)**********************************
**                       STM32F103 涂鸦WiFi模块测试
**
**                             测试头文件
**
*********************************************************************************/
/**
 * @file    test.h
 * @author  User
 * @version v1.0.0
 * @date    2025.10.15
 * @brief   涂鸦WiFi模块测试函数声明
 */

#ifndef __TEST_H_
#define __TEST_H_

#include "stm32f10x.h"

/**
 * @brief  涂鸦WiFi模块初始化测试
 * @param  无
 * @return 无
 * @note   测试WiFi协议初始化
 */
void Test_Tuya_Init(void);

/**
 * @brief  测试查询产品信息
 * @param  无
 * @return 无
 * @note   模拟WiFi模块查询产品信息,MCU应返回PID和版本号
 */
void Test_Product_Info(void);

/**
 * @brief  测试WiFi状态上报
 * @param  无
 * @return 无
 * @note   测试WiFi模块上报不同工作状态
 */
void Test_WiFi_State(void);

/**
 * @brief  测试重置WiFi
 * @param  无
 * @return 无
 * @note   测试MCU重置WiFi功能
 */
void Test_WiFi_Reset(void);

/**
 * @brief  测试DP数据上报
 * @param  无
 * @return 无
 * @note   测试MCU上报传感器数据到云端
 */
void Test_DP_Upload(void);

/**
 * @brief  测试DP命令下发
 * @param  无
 * @return 无
 * @note   测试云端下发控制命令给MCU
 */
void Test_DP_Download(void);

/**
 * @brief  测试获取本地时间
 * @param  无
 * @return 无
 * @note   测试MCU从WiFi模块获取网络时间
 */
void Test_Get_Time(void);

/**
 * @brief  测试WiFi功能性测试
 * @param  无
 * @return 无
 * @note   测试WiFi模块扫描指定路由器
 */
void Test_WiFi_Function(void);

/**
 * @brief  测试查询路由信号强度
 * @param  无
 * @return 无
 * @note   测试查询当前连接的路由器信号强度
 */
void Test_Route_RSSI(void);

/**
 * @brief  涂鸦WiFi模块综合测试
 * @param  无
 * @return 无
 * @note   执行所有测试项目
 */
void Test_Tuya_All(void);

/**
 * @brief  模拟接收WiFi模块数据
 * @param[in] {data} 接收到的数据
 * @param[in] {len} 数据长度
 * @return 无
 * @note   用于测试时模拟串口接收
 */
void Test_Simulate_Receive(uint8_t *data, uint16_t len);

#endif /* __TEST_H_ */
